কন্ট্রোলারের ভূমিকা এবং কাজ

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) কন্ট্রোলার (Controllers) |
245
245

ASP.Net MVC (Model-View-Controller) আর্কিটেকচারে কন্ট্রোলার (Controller) একটি অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে। কন্ট্রোলার হলো সেই উপাদান যা ব্যবহারকারীর অনুরোধ গ্রহণ করে, ব্যবসায়িক লজিক প্রক্রিয়া করে এবং উপযুক্ত ভিউ তৈরি করতে সহায়ক হয়। এটি মডেল এবং ভিউ-এর মধ্যে মধ্যস্থতাকারী হিসেবে কাজ করে।


কন্ট্রোলারের ভূমিকা

কন্ট্রোলার সাধারণত অ্যাপ্লিকেশনটির ব্যবহারকারীর অনুরোধ এবং কার্যকলাপের ওপর ভিত্তি করে রেসপন্স প্রদান করে। এটি:

  • ইনপুট গ্রহণ: ব্যবহারকারীর থেকে ইনপুট বা অনুরোধ (Request) গ্রহণ করে।
  • ব্যবসায়িক লজিক পরিচালনা: কন্ট্রোলার বিভিন্ন ব্যবসায়িক লজিক (Business Logic) প্রক্রিয়া করে, যেমন মডেল থেকে ডেটা রিট্রাইভ বা আপডেট করা।
  • ভিউতে ডেটা পাঠানো: প্রক্রিয়া করা ডেটা ভিউতে পাঠানো হয়, যাতে তা ব্যবহারকারীকে দেখানো যায়।
  • রিডাইরেক্ট বা রেজাল্ট প্রদান: কন্ট্রোলার বিভিন্ন অ্যাকশন রেজাল্ট প্রদান করতে পারে, যেমন রিডাইরেক্ট, ভিউ রিটার্ন করা বা JSON ডেটা রিটার্ন করা।

কন্ট্রোলারের কাজ

কন্ট্রোলারের কাজ মূলত একশন মেথডস (Action Methods) এর মাধ্যমে পরিচালিত হয়। যখন ব্যবহারকারী কোনো URL এ রিকোয়েস্ট পাঠায়, তখন কন্ট্রোলার সেই রিকোয়েস্টটি হ্যান্ডল করে এবং উপযুক্ত রেসপন্স প্রদান করে। এখানে কন্ট্রোলারের কিছু প্রধান কাজ ব্যাখ্যা করা হলো:

একশন মেথডস (Action Methods)

  • কন্ট্রোলারের একশন মেথড হল সেই মেথড যা HTTP রিকোয়েস্ট গ্রহণ করে এবং সেই রিকোয়েস্টের জন্য উপযুক্ত রেসপন্স তৈরি করে।
  • প্রতিটি একশন মেথড একটি URL রাউটের সাথে সম্পর্কিত থাকে। যখন URL মেলা মেথডের সাথে এক হয়, তখন কন্ট্রোলার ঐ মেথডটি কল করে।

একশন রেজাল্ট (Action Result)

  • একশন মেথড সাধারণত একটি ActionResult রিটার্ন করে, যা ভিউ, JSON, ফাইল বা রিডাইরেক্ট হতে পারে।
  • উদাহরণস্বরূপ:
    • View: ব্যবহারকারীকে একটি ভিউ রিটার্ন করতে।
    • Redirect: অন্য একটি URL এ রিডাইরেক্ট করতে।
    • JSON: AJAX কলের মাধ্যমে JSON ডেটা ফেরত দিতে।
    • PartialView: প partial ভিউ রিটার্ন করতে।

ডেটা পাসিং (Passing Data)

  • কন্ট্রোলার মডেল বা ডেটা ভিউ-তে পাঠানোর জন্য ViewData, ViewBag, অথবা TempData ব্যবহার করতে পারে।
    • ViewData: ছোট আকারের ডেটা একটানা ভিউ-তে পাঠানোর জন্য ব্যবহার করা হয়।
    • ViewBag: ডায়নামিক ডেটা পাঠাতে ব্যবহৃত হয়, যা ViewData এর মতো কাজ করে তবে আরও সহজভাবে ব্যবহৃত হয়।
    • TempData: ব্যবহারকারীর পরবর্তী রিকোয়েস্টে কিছু ডেটা ধরে রাখতে ব্যবহৃত হয়।

রাউটিং (Routing)

  • কন্ট্রোলার রাউটিং সিস্টেমের মাধ্যমে কোন URL-এর জন্য কোন কন্ট্রোলার এবং একশন মেথড কল হবে তা নির্ধারণ করে। এটি ASP.Net MVC অ্যাপ্লিকেশনের গুরুত্বপূর্ণ একটি অংশ।

ভ্যালিডেশন (Validation)

  • কন্ট্রোলার সাধারণত মডেল ডেটা ভ্যালিডেশন প্রক্রিয়া করে। এটি Data Annotations ব্যবহার করে ইউজারের ইনপুট যাচাই করতে পারে এবং ভুল ইনপুট হলে ব্যবহারকারীকে এ সম্পর্কে তথ্য প্রদান করতে পারে।

কন্ট্রোলারের উদাহরণ

ধরা যাক, একটি StudentController তৈরি করা হয়েছে, যেখানে ছাত্রদের তালিকা দেখানোর জন্য একটি একশন মেথড Index তৈরি করা হয়েছে।

public class StudentController : Controller
{
    public IActionResult Index()
    {
        List<Student> students = GetStudents(); // ডেটা রিট্রাইভ করা
        return View(students); // ডেটা ভিউ-তে পাঠানো
    }

    private List<Student> GetStudents()
    {
        // ডেটাবেস থেকে ছাত্রদের তথ্য নিয়ে আসা
        return new List<Student>
        {
            new Student { Id = 1, Name = "Rahim", Class = "10" },
            new Student { Id = 2, Name = "Karim", Class = "9" }
        };
    }
}

উপরে Index একশন মেথডটি ছাত্রদের তালিকা তৈরি করে এবং তা ভিউ-তে পাঠায়।


সারমর্ম

কন্ট্রোলার ASP.Net MVC আর্কিটেকচারের কেন্দ্রবিন্দু, যা মডেল এবং ভিউ-এর মধ্যে সেতু হিসেবে কাজ করে। এটি ব্যবহারকারীর অনুরোধ গ্রহণ, ডেটা প্রক্রিয়া এবং ভিউতে রেসপন্স প্রদান করে। কন্ট্রোলারকে সঠিকভাবে ব্যবহার করলে ওয়েব অ্যাপ্লিকেশনটি সহজে স্কেলযোগ্য এবং রক্ষণাবেক্ষণযোগ্য হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion